// pages/consultantion/consultantSearch/consultantSearch.js
let app=getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tagList: [
      { name: '男', value: 'nan' },
      { name: '女', value: 'nv' },
       {name:'不限',value:'unlimited' }
    ],
    method:[
      { name: '全部方式', value: 'all' },
      { name: '视频咨询', value: 'video' },
       {name:'语音咨询',value:'unlimited' }
    ],
    tags: [
      { id: 0, name: '全部', selected: false },
      { id: 1, name: '个人成长', selected: false },
      { id: 2, name: '恋爱关系', selected: false },
      { id: 3, name: '婚姻家庭', selected: false },
      { id: 4, name: '亲子教育', selected: false },
      { id: 5, name: '职场心理', selected: false },
      { id: 6, name: '两性心理', selected: false },
      { id: 7, name: '抑郁疏理', selected: false },
      { id: 8, name: '情绪管理', selected: false },
      { id: 9, name: '人际关系', selected: false },
      { id: 10, name: '心理健康', selected: false },
      { id: 11, name: '婆媳矛盾', selected: false }
    ],
    selectedCount: 0,
    region: ['广东省', '广州市', '海珠区'],
    customItem: '全部',
    index:0, // 定义从levels中选中的下标
    // tags:[],
    url:'',
    id:1,
    levels: [ 
      {
        id: 1,
        name: '初级咨询师'
        },
        {
        id: 2,
        name: '中级咨询师'
        },
        {
        id: 3,
        name: '高级咨询师'
        },
        {
        id: 4,
        name: '专家级咨询师'
        },
        {
          id: 5,
          name: '资深专家咨询师'
        },
        {
          id: 6,
          name: '特级咨询师'
        },
        {
          id: 7,
          name: '首席咨询师'
        },
        {
          id: 8,
          name: '首席咨询师'
        },
        {
          id: 9,
          name: '特邀咨询师'
        },
        {
          id: 10,
          name: '专家级咨询师'
        },
    ]// 定义咨询师等级数组，后期直接从后端动态查询

  },
  toggleTag1: function(e) {
    const id = e.currentTarget.dataset.id;
    let tags = this.data.tags;
    const index = tags.findIndex(item => item.id === id);
    const selected = tags[index].selected;
    console.log('点击的标签:', {
      id: id,
      name: tags[index].name,
      currentState: selected ? '已选中' : '未选中'
    });
    
    // 如果已经是选中状态，直接取消选中
    if (selected) {
      tags[index].selected = false;
      this.setData({
        tags: tags,
        selectedCount: this.data.selectedCount - 1
      });
      return;
    }
    
    // 如果未选中且已选数量<3，可以选中
    if (this.data.selectedCount < 3) {
      tags[index].selected = true;
      this.setData({
        tags: tags,
        selectedCount: this.data.selectedCount + 1
      });
    } else {
      wx.showToast({
        title: '最多只能选择3个标签',
        icon: 'none'
      });
    }
  },
   // 新增方法：输出当前选中的标签
   logSelectedTags: function() {
    const selectedTags = this.data.tags
      .filter(tag => tag.selected)
      .map(tag => tag.name);
    
    console.log('当前选中的标签:', selectedTags);
    console.log('已选数量:', this.data.selectedCount);
  },

  bindRegionChange: function (e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      region: e.detail.value
    })
  },
  // 下拉框选择函数
  //咨询师等级
bindPickerChange(e) {
  console.log('picker发送选择改变，携带值为', e.detail.value)
  this.setData({
  index: e.detail.value
  })
  // 注意：后期需要提交到后端时，只需要根据index获取数据 例如：this.data.levels[index]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      url:app.globalData.url,  
  })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  toggleTag(e) {
    const value = e.currentTarget.dataset.value;
    const { tagList } = this.data;
    // 输出点击的标签信息
    console.log('点击的标签:', {
      value: value,
      name: tagList.find(item => item.value === value).name,
      currentState: tagList.find(item => item.value === value).isSelected ? '已选中' : '未选中'
    });

    // 找到对应标签，切换选中状态
    const newTagList = tagList.map(item => {
      if (item.value === value) {
        return { ...item, isSelected: !item.isSelected };
      }
      return item;
    });
    // 提取选中的标签值（按需使用）
    const selectedTags = newTagList
      .filter(item => item.isSelected)
      .map(item => item.value);
     // 输出当前选中的标签
     console.log('当前选中的标签值:', selectedTags);
     console.log('当前选中的标签数量:', selectedTags.length);

    this.setData({ tagList: newTagList });
    // 后续可把 selectedTags 用于业务逻辑（如接口传参、筛选等）
  },


  toggleMethod(e){
    const value=e.currentTarget.dataset.value;
    const{method}=this.data;

    // 输出点击的标签信息
    console.log('点击的咨询方式:', {
      value: value,
      name: method.find(item => item.value === value).name,
      currentState: method.find(item => item.value === value).isSelected ? '已选中' : '未选中'
    });

    const newMethod = method.map(item=>{
      if(item.value==value){
        return{...item,isSelected:!item.isSelected};
      }
      return item;
    });
    const selectedMethod = newMethod
    .filter(item=>item.isSelected)
    .map(item=>item.value);

    // 输出当前选中的咨询方式
    console.log('当前选中的咨询方式:', selectedMethod);
    console.log('当前选中的咨询方式数量:', selectedMethod.length);
    this.setData({method:newMethod})
  },

// 在consultantSearch.js中添加confirm方法
confirm() {
  // 收集所有筛选参数
  const params = {
    // 咨询师性别
    gender: this.data.tagList.find(item => item.isSelected)?.value || '',
    
    // 擅长标签(最多3个)
    expertise: this.data.tags
      .filter(tag => tag.selected)
      .map(tag => tag.id)
      .slice(0, 3),
    
    // 地域选择
    region: this.data.region.join(','),
    
    // 咨询师等级
    level: this.data.levels[this.data.index].id,
    
    // 咨询方式
    method: this.data.method
      .filter(item => item.isSelected)
      .map(item => item.value)
  };
  
  console.log('筛选参数:', params);
  
  // 跳转到新页面并传递参数
  wx.navigateTo({
    url: `/pages/test3/test3?params=${encodeURIComponent(JSON.stringify(params))}`
  });
},


  clear(){
    this.setData({
      tagList: [
        { name: '男', value: 'nan' },
        { name: '女', value: 'nv' },
         {name:'不限',value:'unlimited' }
      ],
      method:[
        { name: '全部方式', value: 'all' },
        { name: '视频咨询', value: 'video' },
         {name:'语音咨询',value:'unlimited' }
      ],
      tags: [
        { id: 0, name: '全部', selected: false },
        { id: 1, name: '个人成长', selected: false },
        { id: 2, name: '恋爱关系', selected: false },
        { id: 3, name: '婚姻家庭', selected: false },
        { id: 4, name: '亲子教育', selected: false },
        { id: 5, name: '职场心理', selected: false },
        { id: 6, name: '两性心理', selected: false },
        { id: 7, name: '抑郁疏理', selected: false },
        { id: 8, name: '情绪管理', selected: false },
        { id: 9, name: '人际关系', selected: false },
        { id: 10, name: '心理健康', selected: false },
        { id: 11, name: '婆媳矛盾', selected: false }
      ],
      selectedCount: 0,
      region: ['广东省', '广州市', '海珠区'],
      customItem: '全部',
      index:0, // 定义从levels中选中的下标
      url:'',
      id:1,
    })
    
  }
})